Modul Kerkimi
Per te ndertuar nje modul kerkimi fillimisht na duhet nje nderfaqe grafike ne HTML, nje forme e perbere nga nje fushe teksti ku perdoruesi do te shkruaje fjalet kyce qe do te kerkoje, dhe nje buton Kerko
. Me poshte shfaqim nje faqe me emrin kerko.php
e cila permban HTML-ne e nevojshme per formen e kerkimit.
<!DOCTYPE html>
<html>
<head>
<title>Modul Kerkimi</title>
</head>
<body>
<div class="search-page">
<div class="form">
<form method="POST">
<input type="text" name="fjale" placeholder="Fjale Kyce"/>
<button name="kerko">Kerko</button>
</form>
</div>
</div>
<div class="article-list">
<!-- Ketu do te shfaqet lista e artikujve si rezultat i kerkimit-->
</div>
</body>
</html>
Ne funksion te ketij moduli do te perdorim modelin Artikull
te cilin e ndertuam ne kapitullin e meparshem, te afte per te kryer operacione CRUD.
Ne momentin qe perdoruesi do te klikoje mbi butonin Kerko
do te dergohet nje kerkese POST ne server sebashku me te dhenat qe ka futur perdoruesi. Dukeqenese tek forma e kerkimit nuk kemi deklaruar nje atribut action
, kerkesa POST do te dergohet mbi te njejtin skedar. Pra, edhe trajtimi i saj duhet te behet ne skedarin kerko.php
. Keshtu qe pervec pjeses HTML, ne krye te faqes kerko.php
shtojme kodin e meposhtem:
<?php
// Faqja kerko.php
require_once "Artikull.php";
if(isset($_POST["kerko"])) {
$fjale = $_POST["fjale"];
$kushti = "titulli LIKE '%{$fjale}%' OR pershkrimi LIKE '%$fjale%'";
$artikujt = Artikull::getList($kushti);
}
?>
<!-- Vazhdon kodi HTML -->
...
Kemi perdorur metoden getList(...)
te modelit Artikull
i cili pranon si argument nje kusht. Ne baze ketij kushti do te perzgjidhen dhe artikujt qe do te na kthehen nga databaza. Kushti do ti bashkangjitet kushtit WHERE
te deklarates SQL qe behet nepermjet funksionit getList(...)
. Ne kushtin e formuar titulli LIKE '%{$fjale}%' OR pershkrimi LIKE '%$fjale%'
eshte perdorur operatori LIKE
sebashku me simbolin %
. Kjo kthen te gjithe artikujt te cilet permbajne brenda titullit ose pershkrimit fjalen kyc te dhene nga perdoruesi. Ajo qe na kthehet eshte nje array me objekte te tipit Artikull
i ruajtur ne variablin $artikujt
. Per te paraqitur listen me artikuj ne brouser duhet te perdorim nje cikel foreach
qe iteron ne cdo artikull dhe printon permbajtjen e tij. Modifikojme faqen kerko.php
ne pjesen e kodit HTML:
<!-- ... -->
<!-- Kodi i mesiperm PHP -->
<!DOCTYPE html>
<html>
<head>
<title>Modul Kerkimi</title>
</head>
<body>
<div class="search-page">
<div class="form">
<form method="POST">
<input type="text" name="fjale" placeholder="Fjale Kyce"/>
<button name="kerko">Kerko</button>
</form>
</div>
</div>
<div class="article-list">
<!-- Ketu do te shfaqet lista e artikujve si rezultat i kerkimit-->
<?php foreach ($artikujt as $artikull) { ?>
<div class="artikull">
<h2><?php echo $artikull->titulli; ?></h2>
<p><?php echo $artikull->pershkrimi; ?></p>
</div>
<?php } ?>
</div>
</body>
</html>
Kodi i mesiperm eshte funksional per kerkimin e artikujve ne bazen e te dhenave. Mjafton ta stilojme me CSS
per nje paraqitje sa me te bukur te formes, listes dhe faqes ne teresi.